package com.aiyige.model;

import com.aiyige.model.eshop.Order;

import java.util.List;

public class OrderRefundModel{


    String sellerFee;//卖家需要支付手续费，为0时不需要支付手续费。

    String personLiable;//责任方-buyer 买家责任，seller 卖家责任
    String userFeeSummary;//手续费简介，例如：卖家承担手续费
    String userFeeDetail;//手续费简介弹窗，例如：因为买家选择的退款理由为“{0}”所以由卖家承担第三方
    String refundFeeDetail;//卖家承担责任时，弹窗用，例如：您发布的线下课程 《{0}》因为卖家的原因导致退款，您还需支付第三方支付平台产生的手续费用¥{1}哦~

    String id;    //[string]	是	退款申请id
    String status;    //[string]	是	退款申请状态： 退款中（refunding）已退款（refunded）被驳回（rejected）
    String orderId;    //[string]	是	订单id
    String refundReason;//	[string]	是	退款理由
    String refundDescription;    //[string]	是	退款理由的描述
    List<String> imageUrls;    //[array]	是	图片地址
    String rejectReason;    //[string]	是	驳回退款理由
    String rejectDescription;    //[string]	是	驳回退款理由描述
    long createTime;//	[long]	是	退款发起时间
    long processTime;    //[long]	是	退款申请处理时间


    Order orderBackup;//退款相关订单信息

    List<RefundProgress> refundProgress;//退款进度

    public List<RefundProgress> getRefundProgress() {
        return refundProgress;
    }

    public void setRefundProgress(List<RefundProgress> refundProgress) {
        this.refundProgress = refundProgress;
    }

    public String getStatus() {
        return status == null ? "" : status;
    }

    public void setStatus(String status) {
        this.status = status == null ? "" : status;
    }

    public String getSellerFee() {
        return sellerFee;
    }

    public void setSellerFee(String sellerFee) {
        this.sellerFee = sellerFee;
    }

    public String getPersonLiable() {
        return personLiable;
    }

    public void setPersonLiable(String personLiable) {
        this.personLiable = personLiable;
    }

    public String getUserFeeSummary() {
        return userFeeSummary;
    }

    public void setUserFeeSummary(String userFeeSummary) {
        this.userFeeSummary = userFeeSummary;
    }

    public String getUserFeeDetail() {
        return userFeeDetail;
    }

    public void setUserFeeDetail(String userFeeDetail) {
        this.userFeeDetail = userFeeDetail;
    }

    public String getRefundFeeDetail() {
        return refundFeeDetail;
    }

    public void setRefundFeeDetail(String refundFeeDetail) {
        this.refundFeeDetail = refundFeeDetail;
    }


    public class RefundProgress {
        private String title;//发起退款申请",
        private String content;//申请后，若7天卖家不处理，将自动退款到您的钱包",
        private String status;//refunding",
        private long time;//1532935438287

        public String getTitle() {
            return title == null ? "" : title;
        }

        public void setTitle(String title) {
            this.title = title == null ? "" : title;
        }

        public String getContent() {
            return content == null ? "" : content;
        }

        public void setContent(String content) {
            this.content = content == null ? "" : content;
        }

        public String getStatus() {
            return status == null ? "" : status;
        }

        public void setStatus(String status) {
            this.status = status == null ? "" : status;
        }

        public long getTime() {
            return time;
        }

        public void setTime(long time) {
            this.time = time;
        }
    }

    public class OrderBackup {
        double payAmount;
        double userFee;
        double charge;

        public double getPayAmount() {
            return payAmount;
        }

        public void setPayAmount(double payAmount) {
            this.payAmount = payAmount;
        }

        public double getUserFee() {
            return userFee;
        }

        public void setUserFee(double userFee) {
            this.userFee = userFee;
        }

        public double getCharge() {
            return payAmount - userFee;
        }

        public void setCharge(double charge) {
            this.charge = charge;
        }
    }

    public String getId() {
        return id == null ? "" : id;
    }

    public void setId(String id) {
        this.id = id == null ? "" : id;
    }

//    public String getStatus() {
//        return status == null ? "" : status;
//    }
//
//    public void setStatus(String status) {
//        this.status = status == null ? "" : status;
//    }

    public String getOrderId() {
        return orderId == null ? "" : orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId == null ? "" : orderId;
    }

    public String getRefundReason() {
        return refundReason == null ? "" : refundReason;
    }

    public void setRefundReason(String refundReason) {
        this.refundReason = refundReason == null ? "" : refundReason;
    }

    public String getRefundDescription() {
        return refundDescription == null ? "" : refundDescription;
    }

    public void setRefundDescription(String refundDescription) {
        this.refundDescription = refundDescription == null ? "" : refundDescription;
    }

    public List<String> getImageUrls() {
        return imageUrls;
    }

    public void setImageUrls(List<String> imageUrls) {
        this.imageUrls = imageUrls;
    }

    public String getRejectReason() {
        return rejectReason == null ? "" : rejectReason;
    }

    public void setRejectReason(String rejectReason) {
        this.rejectReason = rejectReason == null ? "" : rejectReason;
    }

    public String getRejectDescription() {
        return rejectDescription == null ? "" : rejectDescription;
    }

    public void setRejectDescription(String rejectDescription) {
        this.rejectDescription = rejectDescription == null ? "" : rejectDescription;
    }

    public long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(long createTime) {
        this.createTime = createTime;
    }

    public long getProcessTime() {
        return processTime;
    }

    public void setProcessTime(long processTime) {
        this.processTime = processTime;
    }


    public Order getOrderBackup() {
        return orderBackup;
    }

    public void setOrderBackup(Order orderBackup) {
        this.orderBackup = orderBackup;
    }

}
